<!DOCTYPE html>
<html>

<head lang="en">
  <meta charset="UTF-8">
  <title>注册</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <meta name="format-detection" content="telephone=no">
  <meta name="renderer" content="webkit">
  <meta http-equiv="Cache-Control" content="no-siteapp"/>

  <link rel="stylesheet" href="./AmazeUI-2.4.2/assets/css/amazeui.min.css"/>
  <link href="./css/dlstyle.css" rel="stylesheet" type="text/css">
  <script src="./AmazeUI-2.4.2/assets/js/jquery.min.js"></script>
  <script src="./AmazeUI-2.4.2/assets/js/amazeui.min.js"></script>
  <script src="./plugins/axios.js"></script>
  <script src="./plugins/vue.js"></script>
  <script>
    //配置axios的前缀
    axios.defaults.baseURL='http://localhost:8080/'
    //把axios配置为全局变量
    Vue.prototype.$http = axios //给Vue这个类添加一个原型的属性,这个类的对象都能调用
    //屏蔽vue的警告
    Vue.config.productionTip = false
  </script>
</head>
<body>
<div id="app">
  <div class="login-boxtitle">
    <a href="home/demo.html"><img alt="" src="./images/logobig.png"/></a>
  </div>

  <div class="res-banner">
    <div class="res-main">
      <div class="login-banner-bg"><span></span><img src="./images/big.jpg"/></div>
      <div class="login-box">

        <div class="am-tabs" id="doc-my-tabs">
<!--          <li class="am-active"><a href="">邮箱注册</a></li>-->
          <ul class="am-tabs-nav am-nav am-nav-tabs am-nav-justify">
<!--            <li class="am-active"><a href="">邮箱注册</a></li>-->
            <li><a href="">邮箱注册</a></li>
          </ul>
          <div class="am-tabs-bd">
            <!-- 邮箱注册 -->
<!--            <div class="am-tab-panel am-active">-->
<!--              <form method="post">-->

<!--                <div class="user-email">-->
<!--                  <label for="email"><i class="am-icon-envelope-o"></i></label>-->
<!--                  <input type="email" name="" id="email" placeholder="请输入邮箱账号">-->
<!--                </div>-->
<!--                <div class="user-pass">-->
<!--                  <label for="password"><i class="am-icon-lock"></i></label>-->
<!--                  <input type="password" name="" id="password" placeholder="设置密码">-->
<!--                </div>-->
<!--                <div class="user-pass">-->
<!--                  <label for="passwordRepeat"><i class="am-icon-lock"></i></label>-->
<!--                  <input type="password" name="" id="passwordRepeat" placeholder="确认密码">-->
<!--                </div>-->

<!--              </form>-->

<!--              <div class="login-links">-->
<!--                <label for="reader-me">-->
<!--                  <input id="reader-me" type="checkbox"> 点击表示您同意商城《服务协议》-->
<!--                </label>-->
<!--              </div>-->
<!--              <div class="am-cf">-->
<!--                <input type="submit" name="" value="注册" class="am-btn am-btn-primary am-btn-sm am-fl">-->
<!--              </div>-->
<!--            </div>-->
            <!-- 手机号注册 -->
            <div class="am-tab-panel">
              <form method="post">
                <div class="user-phone">
                  <label for="email"><i class="am-icon-phone-phone am-icon-md"></i></label>
                  <input type="tel" name="" v-model="phoneUserForm.email" id="email" placeholder="请输入邮箱号">
                </div>
                <div class="verification">
                  <label for="code"><i class="am-icon-code-fork"></i></label>
                  <input type="text" name="" v-model="phoneUserForm.emailCode" id="emailCode" style="width: 237px" placeholder="请输入邮箱验证码">
                  <button type="button" class="btn" href="javascript:void(0);" @click="sendEmailCode" id="sendEmailCode">
                    获取
                  </button>
                </div>
                <div class="user-phone">
                  <label for="phone"><i class="am-icon-phone-phone am-icon-md"></i></label>
                  <input type="tel" name="" v-model="phoneUserForm.phone" id="phone" placeholder="请输入手机号">
                </div>
                <div class="user-phone">
                  <label for="imageCode"><i class="am-icon-check am-icon-sm"></i></label>
                  <input type="text" name="" style="width: 180px;" v-model="phoneUserForm.imageCode" id="imageCode"
                         placeholder="请输入图片验证码">
                  <img id="captcha-image-temp" @click="getImageCode" :src="imageCodePrefix+imageCode" class="captcha-image-temp"
                       alt="点击换图" title="点击换图" style="vertical-align: middle; cursor: pointer;">
                </div>
                <div class="verification">
                  <label for="code"><i class="am-icon-code-fork"></i></label>
                  <input type="text" name="" v-model="phoneUserForm.phoneCode" id="code" placeholder="请输入验证码">
                  <button type="button" class="btn" href="javascript:void(0);" @click="sendPhoneCode" id="sendPhoneCode">
                    获取
                  </button>
                </div>
                <div class="user-pass">
                  <label for="password"><i class="am-icon-lock"></i></label>
                  <input type="password" name="" v-model="phoneUserForm.password" id="password" placeholder="设置密码">
                </div>
                <div class="user-pass">
                  <label for="passwordRepeat"><i class="am-icon-lock"></i></label>
                  <input type="password" name="" v-model="phoneUserForm.passwordRepeat" id="passwordRepeat" placeholder="确认密码">
                </div>
              </form>
              <div class="login-links">
                <label for="reader-me">
                  <input id="reader-me" type="checkbox"> 点击表示您同意商城《服务协议》
                </label>
              </div>
              <div class="am-cf">
                <input type="submit" name="" value="注册" @click="phoneRegister" class="am-btn am-btn-primary am-btn-sm am-fl">
              </div>
              <hr>
            </div>

            <script>
              $(function () {
                $('#doc-my-tabs').tabs();
              })
            </script>

          </div>
        </div>

      </div>
    </div>

    <div class="footer ">
      <div class="footer-hd ">
        <p>
          <a href="# ">恒望科技</a>
          <b>|</b>
          <a href="# ">商城首页</a>
          <b>|</b>
          <a href="# ">支付宝</a>
          <b>|</b>
          <a href="# ">物流</a>
        </p>
      </div>
      <div class="footer-bd ">
        <p>
          <a href="# ">关于恒望</a>
          <a href="# ">合作伙伴</a>
          <a href="# ">联系我们</a>
          <a href="# ">网站地图</a>
          <em>© 2015-2025 Hengwang.com 版权所有. 更多模板 <a href="http://www.cssmoban.com/" target="_blank"
                                                     title="模板之家">模板之家</a>
            - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></em>
        </p>
      </div>
    </div>
  </div>
</div>
</body>
<script type="text/javascript">
  new Vue({
    el: "#app",
    data() {
      return {
        phoneUserForm: {
          email:'',
          emailCode:'',
          phone: '',
          imageCode: '',
          phoneCode:'',
          password: '',
          passwordRepeat: '',
        },
        imageCode:'',
        imageCodePrefix:'data:image/bmp;base64,',
      }
    },
    methods: {
      // 随机生成uuid
      createUuid(){
        var s = [];
        var hexDigits = "0123456789abcdefghi";
        for (var i = 0; i < 36; i++) {
          s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
        }
        s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
        s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
        s[8] = s[13] = s[18] = s[23] = "-";

        var uuid = s.join("");
        return uuid;
      },

      // 获取图形验证码
      getImageCode(){
        //sessionStorage 关闭浏览器就没有了
        //localStorage  关闭浏览器还存在
        // 将uuid保存到本地,如果本地没有值生成，如果有值直接使用
        if(!localStorage.getItem("myImgUuid")){
            localStorage.setItem("myImgUuid",this.createUuid());
        }
        this.$http.get("/vcode/imgCode/"+localStorage.getItem("myImgUuid")).then(res=>{
          this.imageCode = res.data.data;
        })
      },

      // 获取邮箱验证码
      sendEmailCode(event){
        //1.判断邮箱不为空
        if(!this.phoneUserForm.email){
          this.$notify({
            title: '警告',
            message: '邮箱不能为空',
            type: 'warning'
          });
          return;
        }
        //2.判断图片验证码不为空
        if(!this.phoneUserForm.imageCode){
          this.$notify({
            title: '警告',
            message: '图片验证码不能为空',
            type: 'warning'
          });
          return;
        }
        //3.获取按钮，禁用按钮
        var sendBtn = $(event.target);
        sendBtn.attr("disabled",true);
        // 请求前赋值
        var param = {
          email: this.phoneUserForm.email,
          imageCode:this.phoneUserForm.imageCode,
          imageCodeKey:localStorage.getItem("myImgUuid")  //"reg_xxxx"
        };
        //4.发送ajax请求
        this.$http.post("/vcode/sendEmail",param).then(res=>{
          var ajaxResult = res.data;
          if(ajaxResult.state){
            alert("邮箱验证码已经发送到您的邮箱，请确认");
            //4.1.发送成：倒计时
            var time = 10;
            var interval = window.setInterval( function () {
              //每一条倒计时减一
              time = time - 1 ;
              //把倒计时时间搞到按钮上
              sendBtn.html(time+"秒后重发");
              //4.2.倒计时完成恢复按钮
              if(time <= 0){
                sendBtn.html("重新发送");
                sendBtn.attr("disabled",false);
                //清除定时器
                window.clearInterval(interval);
              }
            },1000);
          }else{
            //4.3.发送失败：提示，恢复按钮
            sendBtn.attr("disabled",false);
            alert(ajaxResult.tip);
          }
        })
      },

      // 获取手机验证码
       sendPhoneCode(event){
        //1.判断手机号不为空
        if(!this.phoneUserForm.phone){
          this.$notify({
            title: '警告',
            message: '手机号不能为空',
            type: 'warning'
          });
          return;
        }
        //2.判断图片验证码不为空
        if(!this.phoneUserForm.imageCode){
          this.$notify({
            title: '警告',
            message: '图片验证码不能为空',
            type: 'warning'
          });
          return;
        }
        //3.获取按钮，禁用按钮
        var sendBtn = $(event.target);
        sendBtn.attr("disabled",true);
        // 请求前赋值
        var param = {
          phone: this.phoneUserForm.phone,
          imageCode:this.phoneUserForm.imageCode,
          imageCodeKey:localStorage.getItem("myImgUuid")  //"reg_xxxx"
        };
        //4.发送ajax请求
        this.$http.post("/vcode/sendMsg",param).then(res=>{
          var ajaxResult = res.data;
          if(ajaxResult.state){
            alert("手机验证码已经发送到您的手机，请在3分钟内使用");
            //4.1.发送成：倒计时
            var time = 10;
            var interval = window.setInterval( function () {
              //每一条倒计时减一
              time = time - 1 ;
              //把倒计时时间搞到按钮上
              sendBtn.html(time+"秒后重发");
              //4.2.倒计时完成恢复按钮
              if(time <= 0){
                sendBtn.html("重新发送");
                sendBtn.attr("disabled",false);
                //清除定时器
                window.clearInterval(interval);
              }
            },1000);
          }else{
            //4.3.发送失败：提示，恢复按钮
            sendBtn.attr("disabled",false);
            alert(ajaxResult.tip);
          }
        })
       },



      // 手机号注册
      phoneRegister(){
        if(this.phoneUserForm.password == this.phoneUserForm.passwordRepeat){
          this.$http.post("/register/phone",this.phoneUserForm).then(res => {
            if(res.data.state){
              location.href = "login.html";
            }else {
              alert(res.data.tip)
            }
          })
        }
      }
    },
    mounted() {
      this.getImageCode()
    }
  })
</script>
</html>